1. Field of the Invention
The present invention generally relates to pushing contents, more particularly, to a method, system and computer program product for managing content push services in a client-server environment.
2. Description of the Prior Art
A common requirement of application service providers that serve mobile users is the ability to push a content to a client device. This ability is central to services such as road navigation, news updates, and severe-weather alerts. Current existing approaches use low-level network protocols, such as TCP sockets or HTTP, or are software-based. Use of network protocols can be effective but require high degree of involvement from the application service providers in handling slow networks, busy clients, and disconnection. The different protocols are required for the different networks used by different clients. Also, network solutions may not ensure in-order delivery of a series of contents from a single application service provider. Software-based solutions such as IBM's MQ Series product family manage some of these problems but, as a software solution, do not handle pushing multiple, independently-operating contents to clients at the same time.
When multiple application service providers push contents to a single client at the same time, it may overload the client. The application service providers may push the contents with different levels of priority. However, the application service providers cannot manage priority-based services, because the application service providers are independent and unaware of each other. A client cannot manage priority-based services, because by the time the client see the content, the content has already been delivered or is in the process of delivery. With current solutions, a client cannot interrupt receiving a large-file, low-priority, non-time-sensitive content in order to receive a high-priority, time-sensitive content because the client cannot know the high-priority content is waiting.
Existing software solutions that merely allow tagging contents with priority and dequeueing according to priority do not actually deliver the contents based on priority, nor do the existing software solutions ensure non-starvation of low-priority content. Neither a network nor the software solutions may manage the efficient use of the wireless network, instead giving each application service provider dedicated in-turn access to a wireless link.
FIG. 1 depicts a conventional low-bandwidth wireless networking environment, where each gadget communicates each other via the low-bandwidth wireless network. In a wireless communication society 100, computers such as 110(1) and 110(n), a cellular phone 138, a laptop 136, a GPS navigation system in a vehicle, a PDA 132, and iPod 130 transmit and receive data through a wireless network 120. The wireless network 120 may be IEEE 802.11, Wi-Fi, Wireless LAN, CDMA, GSM, PCS, AMPS, etc.
A U.S. patent application (application Ser. No. 11/953,515) “COMPOSITION-BASED APPLICATION USER INTERFACE FRAMEWORK”, which includes same inventors, discloses a novel document-oriented model for delivery of telematics services to present interactive user interfaces on in-vehicle clients. The application further discloses an XVC (extensible Viewer Composition) model that has three primary characteristics: (1) the invention supports a document-based application model; (2) application user-interfaces are compound documents, each element addressing a different viewer; and (3) user interfaces of multiple applications are composed into a single glanceable user interface on the client for ease of use and expediency.
Having set fort the limitations of the prior art, it is clear that what is required is a method, system or computer program product capable of handling a group push (i.e., pushing contents to a group of clients), managing diverse priorities for contents, preventing one push (i.e., pushing a content) from starving other pushes, and handling different transport mechanism for different client devices.